﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Community.CsharpSqlite
{
    class SelectResultType
    {


        /*
    ** The results of a select can be distributed in several ways.  The
    ** "SRT" prefix means "SELECT Result Type".
    */
        public const int SRT_Union = 1; //#define SRT_Union        1  /* Store result as keys in an index */
        public const int SRT_Except = 2; //#define SRT_Except      2  /* Remove result from a UNION index */
        public const int SRT_Exists = 3; //#define SRT_Exists      3  /* Store 1 if the result is not empty */
        public const int SRT_Discard = 4; //#define SRT_Discard    4  /* Do not save the results anywhere */

        /* The ORDER BY clause is ignored for all of the above */
        //#define IgnorableOrderby(X) ((X->eDest)<=SRT_Discard)

        public const int SRT_Output = 5; //#define SRT_Output      5  /* Output each row of result */
        public const int SRT_Mem = 6; //#define SRT_Mem            6  /* Store result in a memory cell */
        public const int SRT_Set = 7; //#define SRT_Set            7  /* Store results as keys in an index */

        public const int SRT_Table = 8;
        //#define SRT_Table        8  /* Store result as data with an automatic rowid */

        public const int SRT_EphemTab = 9;
        //#define SRT_EphemTab  9  /* Create transient tab and store like SRT_Table /

        public const int SRT_Coroutine = 10; //#define SRT_Coroutine   10  /* Generate a single row of result */


    }
}
